package edu.hubu.talentmanagementsystem.model.ext;


import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;
import edu.hubu.talentmanagementsystem.model.Model;

import java.io.Serializable;

/**
 * <p>
 * 日程表
 * </p>
 *
 * @author moonlan
 * @since 2021-03-13
 */
@TableName("calendar")
public class Calendar extends Model<Calendar> implements Serializable {

    /**
     * 日程ID
     */
    @TableId(value = "calendar_id", type = IdType.AUTO)
    private Integer calendarId;

    /**
     * 日程开始时间
     */
    @TableField("calendar_start_date")
    private LocalDateTime calendarStartDate;

    /**
     * 日程结束时间
     */
    @TableField("calendar_end_date")
    private LocalDateTime calendarEndDate;

    /**
     * 日程内容
     */
    @TableField("calendar_content")
    private String calendarContent;

    /**
     * 日程等级
     */
    @TableField("calendar_level")
    private Integer calendarLevel;

    /**
     * 日程是否完成
     */
    @TableField("calendar_is_finished")
    private Boolean calendarIsFinished;

    /**
     * 日程提起人
     */
    @TableField("calendar_staff_id")
    private Integer calendarStaffId;

    @TableField(exist = false)
    private Staff staff;

    public Staff getStaff() {
        return staff;
    }

    public Calendar setStaff(Staff staff) {
        this.staff = staff;
        return this;
    }

    @TableField("calendar_title")
    private String calendarTitle;

    public Integer getCalendarId() {
        return calendarId;
    }

    public Calendar setCalendarId(Integer calendarId) {
        this.calendarId = calendarId;
        return this;
    }

    public LocalDateTime getCalendarStartDate() {
        return calendarStartDate;
    }

    public Calendar setCalendarStartDate(LocalDateTime calendarStartDate) {
        this.calendarStartDate = calendarStartDate;
        return this;
    }

    public LocalDateTime getCalendarEndDate() {
        return calendarEndDate;
    }

    public Calendar setCalendarEndDate(LocalDateTime calendarEndDate) {
        this.calendarEndDate = calendarEndDate;
        return this;
    }

    public String getCalendarContent() {
        return calendarContent;
    }

    public Calendar setCalendarContent(String calendarContent) {
        this.calendarContent = calendarContent;
        return this;
    }

    public Integer getCalendarLevel() {
        return calendarLevel;
    }

    public Calendar setCalendarLevel(Integer calendarLevel) {
        this.calendarLevel = calendarLevel;
        return this;
    }

    public Boolean getCalendarIsFinished() {
        return calendarIsFinished;
    }

    public Calendar setCalendarIsFinished(Boolean calendarIsFinished) {
        this.calendarIsFinished = calendarIsFinished;
        return this;
    }

    public Integer getCalendarStaffId() {
        return calendarStaffId;
    }

    public Calendar setCalendarStaffId(Integer calendarStaffId) {
        this.calendarStaffId = calendarStaffId;
        return this;
    }

    public String getCalendarTitle() {
        return calendarTitle;
    }

    public Calendar setCalendarTitle(String calendarTitle) {
        this.calendarTitle = calendarTitle;
        return this;
    }

    @Override
    public String toString() {
        return "Calendar{" +
                "calendarId=" + calendarId +
                ", calendarStartDate=" + calendarStartDate +
                ", calendarEndDate=" + calendarEndDate +
                ", calendarContent=" + calendarContent +
                ", calendarLevel=" + calendarLevel +
                ", calendarIsFinished=" + calendarIsFinished +
                ", calendarStaffId=" + calendarStaffId +
                ", calendarTitle=" + calendarTitle +
                "}";
    }
}
